CONTENTS | INDEX | PREV | NEXT
 WEDGE LIMITATIONS

 Due to the need for WEDGE to be fast and small and to call as few library
 functions as possible, there are certain arbitrary limitations.

 1.  The Exec functions RawIOInit, RawDoFmt, RawMayGetChar, and RawPutChar()
    may not be WEDGEd because they are called indirectly by the WEDGE itself.
    If these functions were WEDGEd, a recursive loop would occur.  WEDGE
    caches pointers to Forbid and Permit.  Installed WEDGEs call these
    functions using these pointers, so these functions may be WEDGEd.

 2.  To help prevent such recursive loops in Local mode, function calls made
    by the Local output handler are not reported.  Unless CLI output
    redirection has been used, the Local handler is a CON: window.  All
    function calls made by the standard Amiga Exec devices are automatically
    screened out in Local mode, since our devices are not Processes.
    However, be warned that if you redirect Local output to a third party
    handler or device, a recursive loop (and big crash) can occur.

 3.  There are size limits for several WEDGE arguments:

        tasklist    31 task names; 319 characters
        library     39 characters
        comment     79 characters

 4.  The maximum size for KILLALL and LIST is 127 WEDGEs.

 5.  The CLI command names specified in the tasklist option must be 16
    characters or less.  If you want to monitor or exclude a command with a
    larger name, rename it.  There is no limit on the size of normal Exec
    Task names in the tasklist.



 WARNINGS

 1.  In some cases, the caller of a WEDGEd function may have so little
    available stack that the WEDGE code to save the caller's registers and
    to check his stack may overrun it.  If this happens, severe crashes can
    occur. Use the tasklist to screen out tasks with tiny stacks.

 2.  WEDGE contains a number of safety features to prevent recursion.
    However, the possibility of recursive crashes still exists, most notably
    in Local mode.  See the note on Local recursion in "WEDGE Limitations."

 3.  When creating masks for REGS and PTRS, do not indiscriminately specify
    registers as pointers.  Only specify a register as a pointer if the
    address of a string, structure, buffer, etc. is actually passed in that
    register. If a register is specified as a pointer, its contents will be
    used as an ad dress and the data at that address will be read.  If the
    register actually contains flags or other non-address data, you could
    end up reading registers which are reset by a read.  This could cause a
    crash.

 4.  If you WEDGE common Exec functions, such as AllocMem() and Signal(),
    with out excluding low level OS tasks such as input.device and
    trackdisk.device, the system will slow to a crawl.  It is strongly
    suggested that you do not write to disks while an intensive WEDGE is
    running.  (It would take forever anyway.)